/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mx.itschapala.dsw2.vista;

import java.util.List;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.event.ActionEvent;
import mx.itschapala.dsw2.biblioteca.bl.AutorBlLocal;
import mx.itschapala.dsw2.biblioteca.bl.LibroBlLocal;
import mx.itschapala.dsw2.biblioteca.modelo.Autor;
import mx.itschapala.dsw2.biblioteca.modelo.Libro;

/**
 *
 * @author Santiago
 */
@ManagedBean
@SessionScoped
public class LibroBean {

    @EJB
    private AutorBlLocal autorBl;
    @EJB
    private LibroBlLocal libroBl;
    private List<Autor> listaAutores;
    private List<Libro> lista;
    private Libro libro;
    private String accion;
    private int idAutorSeleccionado;

    public LibroBean() {
        libro = new Libro();
    }

    public List<Libro> getLista() {
        lista = libroBl.findAll();
        return lista;
    }

    public List<Autor> getListaAutores() {
        listaAutores = autorBl.getAll();
        return listaAutores;
    }

    public Libro getLib() {
        return libro;
    }

    public void setLib(Libro lib) {
        this.libro = lib;
    }

    public int getIdAutorSeleccionado() {
        return idAutorSeleccionado;
    }

    public void setIdAutorSeleccionado(int idAutorSeleccionado) {
        this.idAutorSeleccionado = idAutorSeleccionado;
    }

    public String procesarAccion() {
        System.out.println("accion libro>>>>" + accion);
        if (accion.equalsIgnoreCase("Nuevo")) {
            libroBl.register(libro);
        } else if (accion.equalsIgnoreCase("Editar")) {
            libroBl.modify(libro);
            
        } else if (accion.equalsIgnoreCase("Eliminar")) {
            libroBl.delete(libro);
        }
        accion = "";
        return "LibroLista";
    }

    public String prepararAutor() {
        //libro = new Libro();
        libro.setIdautor(autorBl.findById(idAutorSeleccionado));
        return "LibroConfirmar";
    }

    public void prepararNuevo(ActionEvent evt) {
        libro = new Libro();
        accion = "Nuevo";
    }

    public void prepararEditar(ActionEvent evt) {
        System.out.println(evt.getComponent().getClientId());
        String[] arreglo = evt.getComponent().getClientId().split(":");
        String num = arreglo[2];
        int index = Integer.parseInt(num);
        libro = lista.get(index);
        accion = "Editar";
        // int index = Integer.parseInt(evt.getComponent().getClientId().split(":")[2]);
    }

    public void prepararEliminar(ActionEvent evt) {
        System.out.println(evt.getComponent().getClientId());
        String[] arreglo = evt.getComponent().getClientId().split(":");
        String num = arreglo[2];
        int index = Integer.parseInt(num);
        libro = lista.get(index);
        accion = "Eliminar";
    }
}
